#ifndef __TEST_H__
#define __TEST_H__

//#include <assert.h>
#include <cassert>
#include <iostream>
using namespace std;

//class Stack
//{
//public:
//	void Init(int n = 4);
//
//private:
//	int* _array;
//	int _top;
//	int _capacity;
//};

//class Date 
//{
//public:
//	//void Init(Date* const this, int year, int month, int day);
//	void Init(int year, int month, int day);
//	// void Print(Date* const this);
//	void Print();
//
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//
//class A
//{
//public:
//	void Print()
//	{
//		cout << _ch << endl;
//	}
//private:
//	char _ch;
//	int _i;
//};
//
//class B
//{
//public:
//	void Print()
//	{
//		//...
//	}
//};
//
//class C
//{};
//
//class AA1
//{
//public:
//	void Print()
//	{
//		cout << "AA1:Print()" << endl;
//	}
//
//private:
//	int _a;
//};
//
//class AA2
//{
//public:
//	void Print()
//	{
//		cout << "AA2:Print()" << endl;
//		cout << _a << endl;
//	}
//
//private:
//	int _a;
//};

typedef int STDataType;

class Stack
{
public:
	void Init(int n = 4);
	void Push(STDataType x);
	bool Empty();
	void Pop();
	STDataType Top();
	void Destroy();


private:
	STDataType* _array;
	size_t _top;
	size_t _capacity;
};

#endif